Accessing remote screen content

ABSTRACT

A system and method for facilitating user access to remote content from a current location is presented. The method comprises the following steps. An activation gesture is detected. The activation gesture includes a location. At least one base icon on the display screen located at a distance greater than a predetermined distance from the activation gesture&#39;s location is selected. A target icon for each selected base icon is generated. The target icons are output for display in proximity to the activation gesture&#39;s location until an action dismissing the target icons is detected.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. Pat. application Ser. No.10/384,869, filed Mar. 5, 2003, which claims the benefit of U.S.Provisional Application No. 60/444,993, filed Feb. 3, 2003, which arehereby incorporated by reference.

BACKGROUND

Accessing remote on-screen content from a current working location hasbecome increasingly important with the emergence of varioustechnologies, including large display devices, multiple display devicescooperatively displaying a single visual display area,pressure-sensitive display devices, and input devices such as pen- andtouch-based devices, and other popular, nontraditional input devices.Previously, accessing remote content from a current working locationtypically involved moving a mouse a relatively short distance. However,with the emergence and convergence of these technologies, there are manytimes that a user cannot easily move a mouse, or manipulate anotherinput device, to access the remote content. This is especially true whencombining the movement of a cursor with a click-and-drag operation,typically requiring that a mouse button remain depressed for the entiremovement operation. The following examples illustrate just a few of thescenarios where accessing remote content becomes a challenge.

Tablet devices are typically pen-based devices, where the display screendoubles as the input device. To select and drag an item on a tabletdevice, a user taps on the item, such as an icon, and, while maintainingpressure on the display device with the pen, drags the item to thedesired location. Tablet devices typically have modestly sized displayscreens, but may be connected with an external display device to expandthe display area, creating a single visual display area over multipledevices. This combination creates a single visual display areaencompassing both the tablet's display screen and the external displayscreen. However, while the tablet's display is pen sensitive, theexternal display device typically is not. Thus, using a pen to click anddrag an item from a working location on the tablet's pen-sensitivedisplay to a remote location on the external display device cannot beeasily accomplished.

Multiple touch-sensitive display devices similarly necessitate awkwarduser interactions to cross the physical boundaries of the displaydevices in order to navigate to a remote location. For instance, to dragan icon across the physical boundaries of multiple display devicesrequires numerous user manipulations, depending on the number of bordersto cross. For example, using pen-based display devices, a user must dragthe icon to a physical border and place it at least partially on theborder. The user then must pick up the icon on the adjacent displaydevice to continue its movement.

Alternative input devices, such as touchpads commonly found on notebookcomputers, are relatively small in relation to the notebook's displaysize. Due to the relatively small area of the touchpad, dragging an iconfrom a working area to a remote location on the screen typicallyrequires the user to perform multiple drag operations to span thedistance between the locations.

In addition to the above examples, computer systems with just one largedisplay device, such as a wall-sized display device, and using a typicalinput device, such as a mouse, present difficulties in accessing remotecontent. As an icon is dragged from a working location to a remote area,the opportunities to accidentally drop the icon before reaching thetargeted remote destination increase with the distance traveled,especially when the user must reposition the mouse on a mouse pad, orwithin the available movement space to continue its movement.

Several solutions for solving the problems related to accessing remoteon-screen content have been proposed. One solution is to providehardware that tracks the motion of the eye. While the eye is able totravel great distances and traverse physical boundaries, this solutionrequires additional, expensive hardware not readily available.

Another solution, not requiring specialized hardware, employs atechnique involving “throwing” gestures. Using this technique, a user isable to accelerate an object, such as an icon, with a small “throwing”gesture. Once thrown, the object then continues its trajectory based onits inertia to a receptive target location, such as another icon.Unfortunately, the imprecision of human motor skills prevents thissolution from being a reliable target-acquisition system. Difficultiesalso arise when there are multiple receptive targets along a trajectorypath, in particular, determining which of the potential targets is thecorrect target.

Yet another solution involves predicting actions a user is likely toperform based on previous interactions or according to establishedrules. On-screen icons associated with those actions likely to be nextperformed by a user are relocated near the cursor and constantly trackthe cursor, relocating with the cursor, so that those icons are alwaysclose to the cursor. The predicted actions are updated based on theuser's continued interaction. Unfortunately, constantly tracking thecursor and relocating icons in response to cursor movements creates anever-changing screen display. Organizing icons on a screen becomesnearly impossible as icons continually relocate according to cursormovements and predicted subsequent actions. Additionally, deviating fromthe predicted user interactions to remote content requires the user tonavigate through a maze of predicted content.

As described in the previous examples, most current solutions foraccessing remote content from a current working location involve movingfrom the current location to the remote content area. Additionally, mostprior art solutions require the user to change working areas, ratherthan the remote content accommodating the user at the current workingarea. Those that do not create organizational problems for screencontent and are not easily adaptable to a one-time deviation from apredicted pattern. While moving to the remote content location may bepossible using indirect input devices, such as a mouse, it is verydifficult or not possible when the user is limited to direct inputdevices, such as a pen on a pressure-sensitive display. What is neededis a system and method for accessing remote content by temporarilydisplaying remote content in the proximity of the working area.Additionally, the system and method should temporarily display theremote content in the proximity of the working area only in response toa user's gesture indicating that the remote content should betemporarily relocated.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features ofthe claimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

According to one embodiment of the claimed subject matter, a method forfacilitating user access to remote content from a current location ispresented. The method comprises the following steps. An activationgesture is detected. The activation gesture includes a location. Atleast one base icon on the display screen located at a distance greaterthan a predetermined distance from the activation gesture's location isselected. A target icon for each selected base icon is generated. Thetarget icons are output for display in proximity to the activationgesture's location until an action dismissing the target icons isdetected.

According to additional aspects of the claimed subject matter, a methodfor accessing remotely located icons on a display screen is presented.The method comprises the following steps. An activation gesture isdetected. The activation gesture includes a location. At least one baseicon remotely located on the display screen is then selected. A targeticon is generated for each selected base icon. Thereafter, the targeticons are displayed in proximity to the activation gesture's locationsimultaneously with the selected at least one base icon until an actiondismissing the target icons is detected.

According to still further aspects of the claimed subject matter, acomputer system for facilitating user access to remote icons on adisplay device is presented. The computer system comprises a displaydevice capable of displaying a plurality of icons thereon. The computersystem further comprises a user input device for interfacing with andinteracting with the user, and a computing device, communicativelycoupled to the display device and to the user input device. The computersystem is configured to output a plurality of icons for display on thedisplay device. The computer system is also configured to detect anactivation gesture. The activation gesture includes a location. Upondetecting the activation gesture, the computer system is configured toselect at least one base icon on the display screen that is located at adistance greater than a predetermined distance from the activationgesture's location. Thereafter, the computer system is configured togenerate a target icon for each selected base icon, and output thetarget icons in proximity to the activation gesture's location to thedisplay device until an action dismissing the target icons is detected.

DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a block diagram of an exemplary computer system suitable forimplementing the present invention;

FIG. 2 is a block diagram of an exemplary networked computer environmentsuitable for implementing the present invention;

FIGS. 3A and 3B are block diagrams of an alternative exemplary computersystem suitable for implementing the present invention;

FIG. 4 is a pictorial diagram of an exemplary display screen displayingcontent for illustrating the operation of the present invention;

FIG. 5 is a pictorial diagram of the exemplary display screen of FIG. 4illustrating an activation gesture using a source icon to temporarilydisplay remote content in the proximity of the working area inaccordance with the present invention;

FIG. 6 is a pictorial diagram of the exemplary display screen of FIG. 4illustrating selecting candidate target icons from a target region inaccordance with the present invention;

FIG. 7 is a pictorial diagram of the exemplary display screen of FIG. 4illustrating a temporary target cluster displayed in proximity to theworking area in accordance with the present invention;

FIG. 8 is a pictorial diagram of an exemplary visual display area formedby two exemplary display devices depicting a temporary target clusterdisplayed in proximity to a working area associated with a source iconin accordance with the present invention;

FIG. 9 is a pictorial diagram of the exemplary display screen of FIG. 4illustrating an alternative temporary target cluster displayed inproximity to the working area in accordance with the present invention;

FIG. 10 is a pictorial diagram of the exemplary display screen of FIG. 4illustrative of an activation gesture with an empty selection and theresulting temporary target cluster displayed in proximity to the workingarea in accordance with the present invention;

FIG. 11 is a pictorial diagram of the exemplary display screen of FIG. 4and illustrative of placing the source icon on a target icon in theexemplary temporary target cluster of FIG. 7 to activate that targeticon in accordance with the present invention;

FIG. 12 is a pictorial diagram of the exemplary display screen of FIG. 4illustrating a user gesture dismissing the temporary target cluster inaccordance with the present invention;

FIG. 13A is a pictorial diagram illustrative of an exemplarytwo-dimensional grid for organizing and generating a temporary targetcluster in accordance with the present invention;

FIG. 13B is a pictorial diagram illustrative of the exemplarytwo-dimensional grid of FIG. 13A after having been condensed inaccordance with the present invention;

FIG. 14 is a pictorial diagram of a target cluster displayed on adisplay screen in proximity to the working area and generated from thetarget icons in the two-dimensional grid of FIG. 13B;

FIGS. 15A, 15B, and 15C are flow diagrams illustrative of an exemplaryaccess remote content routine for displaying remote content in proximityto the current location in accordance with the present invention;

FIGS. 16A and 16B are a flow diagram illustrative of an exemplary selecttarget icons subroutine suitable for use in the exemplary access remotecontent routine of FIGS. 15A, 15B, and 15C;

FIGS. 17A and 17B are a flow diagram illustrative of an exemplarygenerate and display target cluster subroutine for use in the exemplaryaccess remote content routine of FIGS. 15A, 15B, and 15C;

FIG. 18 is a flow diagram illustrative of an exemplary display bandsubroutine for use in the exemplary access remote content routine ofFIGS. 15A, 15B, and 15C; and

FIG. 19 is a flow diagram illustrative of an exemplary generate bandsubroutine suitable for use in the exemplary display band subroutine ofFIG. 18.

DETAILED DESCRIPTION

FIG. 1 and the following discussion are intended to provide a brief,general description of a computing system suitable for implementingvarious features of the invention. While the computing system will bedescribed in the general context of a personal computer usable in adistributed computing environment, where complementary tasks areperformed by remote computing devices linked together through acommunications network, those skilled in the art will appreciate thatthe invention may be practiced with many other computer systemconfigurations, including multiprocessor systems, minicomputers,mainframe computers, and the like. The invention may be practiced in alocal area network or, alternatively, on a single computer usinglogical, rather than physically remote, devices. Additionally, while thepresent invention is described in connection with a computer system, itshould be understood that the invention may be used in connection withother media stream players such as VCR or DVD players with appropriatecontrol system modifications.

While aspects of the invention may be described in terms of applicationprograms that run on an operating system in conjunction with a personalcomputer, those skilled in the art will recognize that those aspectsalso may be implemented in combination with other program modules.Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types.

With reference to FIG. 1, an exemplary system for implementing theinvention includes a conventional personal computer 102, including aprocessing unit 104, a system memory 106, and a system bus 108, thatcouples the system memory to the processing unit 104. The system memory106 includes read-only memory (ROM) 110 and random-access memory (RAM)112. A basic input/output system 114 (BIOS), containing the basicroutines that help to transfer information between elements within thepersonal computer 102, such as during startup, is stored in ROM 110. Thepersonal computer 102 further includes a hard disk drive 116, a magneticdisk drive 118, e.g., to read from or write to a removable disk 120, andan optical disk drive 122, e.g., for reading a CD-ROM disk 124 or toread from or write to other optical media. The hard disk drive 116,magnetic disk drive 118, and optical disk drive 122 are connected to thesystem bus 108 by a hard disk drive interface 126, a magnetic disk driveinterface 128, and an optical drive interface 130, respectively. Thedrives and their associated computer-readable media provide nonvolatilestorage for the personal computer 102. Although the description ofcomputer-readable media above refers to a hard disk, a removablemagnetic disk and a CD-ROM disk, it should be appreciated by thoseskilled in the art that other types of media that are readable by acomputer, such as magnetic cassettes, flash memory cards, digital videodisks, Bernoulli cartridges, ZIP disks, and the like, may also be usedin the exemplary operating environment.

A number of program modules may be stored in the drives and RAM 112,including an operating system 132, one or more application programs 134,other program modules 136, and program data 138. A user may entercommands and information into the personal computer 102 through inputdevices such as a keyboard 140 or a mouse 142. Other input devices (notshown) may include a microphone, touchpad, joystick, game pad, satellitedish, scanner, or the like. These and other input devices are oftenconnected to the processing unit 104 through a user input interface 144that is coupled to the system bus, but may be connected by otherinterfaces (not shown), such as a game port or a universal serial bus(USB). A display device 158 is also connected to the system bus 108 viaa display subsystem that typically includes a graphics display interface156 and a code module, sometimes referred to as a display driver, tointerface with the graphics display interface. While illustrated as astand-alone device, the display device 158 could be integrated into thehousing of the personal computer 102. Furthermore, in other computingsystems suitable for implementing the invention, such as a personaldigital assistant (PDA), the display could be overlaid with atouch-screen. Still further, in other computing systems suitable forimplementing the invention, the display could be of multiple segmentsintended to create a single display area. In addition to the elementsillustrated in FIG. 1, personal computers also typically include otherperipheral output devices (not shown), such as speakers or printers.

The personal computer 102 may operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 146. The remote computer 146 may be a server, a router, a peerdevice, or other common network node, and typically includes many or allof the elements described relative to the personal computer 102. Thelogical connections depicted in FIG. 1 include a local area network(LAN) 148 and a wide area network (WAN) 150. Such networkingenvironments are commonplace in offices, enterprise-wide computernetworks, intranets, and the Internet.

When used in a LAN networking environment, the personal computer 102 isconnected to the LAN 148 through a network interface 152. When used in aWAN networking environment, the personal computer 102 typically includesa modem 154 or other means for establishing communications over the WAN150, such as the Internet. The modem 154, which may be internal orexternal, is connected to the system bus 108 via the user inputinterface 144. In a networked environment, program modules depictedrelative to the personal computer 102, or portions thereof, may bestored in the remote memory storage device. It will be appreciated thatthe network connections shown are exemplary and other means ofestablishing a communications link between the computers may be used. Inaddition, the LAN 148 and WAN 150 may be used as a source of nonvolatilestorage for the system.

FIG. 2 is a block diagram of an exemplary networked computer environment200 suitable for operating the present invention. The exemplarynetworked computer environment 200 includes a computing device 202 forinteracting with a user, and upon which the user may access remoteon-screen content, such as the personal computer illustrated in FIG. 1as described above. It should be understood that the computing device202 includes many types of physical devices including, but not limitedto, personal computers; mini- and mainframe computers; PDAs; tabletcomputers; interactive display boards; and other devices capable ofinteracting with a user and displaying content on a display device.

According to aspects of the present invention, the exemplary networkedcomputing environment 200 may include one or more remote servers, suchas server 204, to which the computing device 202 may be connected via acommunications network, such as the Internet 206. In addition, thecomputing device 202 may also be connected to other information sources,such as a remote database 208. Icons displayed on the computing device202 may represent content residing on the remote server 204 or,alternatively, in the remote database 208. Those skilled in the art willrecognize that the on-screen content displayed on the computing device202 may represent other content and devices (not shown) found bothlocally to the computing device and remotely over a communicationsnetwork. The content and devices may include printers, fax machines,executable program files, network storage devices, scanners, networksand subnetworks, and the like. Accordingly, the present invention shouldnot be construed as limited to only those items described.

FIG. 3A is a block diagram of an alternative exemplary computer system300 suitable for operating the present invention. As shown in theexemplary computer system 300, the system includes a computing device302. The computing device 302 includes a processor 304 and a memory 306.Those skilled in the art will appreciate that the computing device 302will include many additional devices and components not illustrated inthe computing system 300 shown in FIG. 3 for illustration purposes.

As shown in FIG. 3A, connected to the computing device 302 is a userinput device 308. As previously described, input devices may include amouse, a touchpad, a pen or stylus, a joystick, and the like. However,these examples are described for illustrative purposes only and are notintended to be construed as limiting upon the present invention. Thoseskilled in the art will recognize that many other user input devices areavailable, all of which are contemplated as falling within the scope ofthe present invention.

The computing device 302 of exemplary computer system 300, shown in FIG.3A, is illustrated as connected to three display devices—display 310,display 312, and display 314. According to aspects of the presentinvention, display 310, display 312, and display 314 operate together toform a single visual display area. For purposes of this discussion, avisual display area represents the visual area upon which the computingdevice 302 may display information or content, such as icons. On systemswith multiple display devices, the computing device may be configuredsuch that each display device displays a different segment of the singlevisual display area, thereby cooperatively creating a visual displayarea as large as the display areas of each individual display device.

Typically, each segment of the visual display area displayed by adisplay device is adjacent to another. Those skilled in the art willrecognize that using multiple display devices to create a visual displayarea is known in the art. Additionally, the multiple display devices,such as those shown in the exemplary system 300, may be comprised ofindividual display devices, each having the capacity to operate alone.Alternatively, the multiple display devices may be part of a singledevice segmented into multiple display panels, where each display panelcannot function as an independent unit. For example, some wall-sizeddisplays are single units, but comprised of multiple display panels.

FIG. 3B is a block diagram of another alternative exemplary computersystem 320 suitable for operating the present invention. In contrast tothe exemplary system 300 of FIG. 3A, the exemplary system 320 of FIG. 3Bis illustrative of a tablet computing device 322 connected to anexternal display device 326. As those skilled in the art will recognize,the tablet computing device 322 includes its own display device 328.Typically, the display device 328 of the tablet computing device 322 ispressure-sensitive. Thus, in addition to being a display device, it isalso the input device, in conjunction with a pen 324, to the tabletcomputing device.

The external display device 326 connected to the tablet computing device322 operates with the tablet computing device to create a visual displayarea equal to the size of both the tablet computing device's displaydevice 328 and the external display device 326. According to one aspectof the present invention, multiple display devices connected to acomputing device, such as computing device 302 or tablet computingdevice 322, may be of similar type or size.

While the above discussion describes a system using a tablet computingdevice, other computing devices may alternatively be used. For example(not shown), a PDA may be used in place of the tablet computing device322. Those skilled in the art will readily recognize that there arenumerous configurations of computing devices and display devices thatmay benefit from the advantages of the present invention. Accordingly,the above examples and descriptions are presented for illustrationpurposes, and should not be construed as limiting upon the presentinvention.

FIG. 4 is a pictorial diagram of an exemplary display screen 400displaying content for illustrating the operation of the presentinvention. As shown in FIG. 4, the exemplary display screen 400 includesmultiple icons representing various types of content and devices,including: data files/documents, such as icon 402 (also frequentlyreferred to as the “source icon” in the discussion that follows);executable programs, such as icon 404 and icon 406; file folders, suchas icon 408 and icon 410; printers, such as icon 412; networks; faxdevices or services; and recyclers, such as icon 414. The exemplarycomputer display screen 400 is intended to represent a large amount ofscreen space and, for purposes of this discussion, all icons on theexemplary display screen, other than the source icon 402, are remotefrom the source icon.

The exemplary computer display screen 400 may correspond to the displayon a single physical display device or, alternatively, may represent asingle visual display area displayed on multiple display devices, asdescribed above. Accordingly, while the following discussion of theexemplary computer display screen 400 generally refers to the displayscreen as displayed on a single display device, this is for ease ofillustration purposes only, and should not be construed as limiting thepresent invention to operating on a single display device.

FIG. 5 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4 illustrating an activation gesture using a source icon 402 totemporarily display remote content in the proximity of the working area.For purposes of this application, the working area, or current workingarea, refers to the location of the cursor 502, which will usuallycorrespond to the location of the source icon 402.

According to the present invention, in order to cause the system todisplay the remote content in the proximity of the working area, theuser must perform an activation gesture. While the activation gesturemay comprise numerous combinations of movements and selections,according to one embodiment of the present invention, the activationgesture is dragging an icon, such as the source icon 402, in a directionfor a predetermined distance. According to an alternative embodiment,the activation gesture is dragging on an empty area of the screen in adirection for a predetermined distance. For purposes of the presentdiscussion, dragging an icon creates a nonempty selection, whiledragging on an empty area of the screen creates an empty selection.While dragging an icon is well known in the art, as used in the presentdiscussion, dragging entails maintaining the selection while moving fromthe original location to another location on the display screen. Forexample, using a mouse as an input device, the user places the cursorover an icon, such as source icon 402, depresses a button located on themouse, and while holding the button depressed—thereby maintaining theselection—drags the icon to a new location. However, while the aboveexample of dragging an icon is presented using a mouse, it should not beconstrued as limiting upon the present invention. As is well known tothose skilled in the art, there are many other ways of dragging an icon,including, but not limited to, using touchpads, joysticks, pens onpressure-sensitive display screens, etc.

According to aspects of the present invention, the activation gesturemay be modified by additional user actions. For example, in order torestrict or modify the type of remote content that is selected inresponse to a user's activation gesture, the user may modify orsupplement the activation gesture by performing an additional action,such as pressing and maintaining pressed a special function key whileperforming the activation gesture. For instance, a user may press andhold the ALT or CTRL key on a keyboard, or both, while clicking anddragging a source icon. These additional user actions may be associatedwith predetermined selection operations. For instance, in regard tothose activation gestures further modified by pressing the ALT key, auser may restrict the selection of remote content to those items able toprint the content associated with a source icon. Any number of otherassociations may be made according to user preferences. Thus, thisillustrative example is for illustration purposes only, and should notbe construed as limiting upon the present invention.

According to aspects of the present invention, the predetermineddistance may be modified according to user preferences. For example, thepredetermined distance may be set to 14 pixels, indicating that theactivation gesture (the drag operation) is complete when a source iconhas been dragged 14 pixels in a direction. As shown in FIG. 4, theactivation gesture is completed by dragging the source icon 402 from itsoriginal position 504 in a direction for a distance at least equal tothe predetermined distance. Responding to an activation gesture isdescribed further in regard to FIG. 6.

FIG. 6 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4 illustrating selecting candidate target icons from a targetregion in accordance with the present invention. After detecting anactivation gesture, such as dragging the source icon 402 from itsprevious location 502 for a predetermined distance, the presentinvention makes a determination as to which icons are to be temporarilydisplayed in proximity to the working area. This determination is basedon the direction of the activation gesture. As shown in FIG. 6, theactivation gesture's direction is determined based on the originallocation 504, the origin, and the current location of the source icon402 and extends from the origin to the edge of the display screen 400.Vector 602 indicates the direction for the activation gesture described.

According to aspects of the invention, those icons located on andsurrounding the activation gesture's direction are considered ascandidate icons to be displayed in the proximity of the working area.Accordingly, two lines originating at the original location 504 of thesource icon, diverging from the vector 602 on either side and extendingto the edge of the display screen, are determined, as indicated by lines604 and 606. According to one aspect of the present invention, the linesdiverge from the vector 602 at a predetermined angle. The predeterminedangle may be user adjustable, enabling the user to increase or decreasethe area of the target region. Alternatively, the lines may extend fromthe activation gesture's direction in a parabolic manner, therebyincluding more remote content as the distance from the activationgesture's original location increases. These offset lines, or boundarylines, together with the edges of the display screen, define a targetregion from which the candidate icons will be selected for display inproximity to the working area. While the above discussion presentsillustrative examples for establishing a target region, they are forillustration purposes only, and should not be construed as limiting uponthe present invention. Those skilled in the art will recognize thatthere are many other ways for determining the target region, all ofwhich are contemplated as falling within the scope of the presentinvention.

To ensure that only remote icons are temporarily displayed proximatelyto the working area, the target region is modified by excluding the arealocated within a predetermined distance of the working area. Any iconswithin the predetermined distance of the working area are excluded ascandidate icons. The predetermined distance from the source icon may beuser adjustable. For example, as shown in FIG. 6, icon 608, which mayotherwise be a candidate icon, is excluded because it resides within thepredetermined distance of the source icon 402, i.e., the working area.

As remote icons may be partially located in the target region, adetermination is made as to whether an icon partially located in thetarget region is located sufficiently within the target region toinclude it as a candidate icon. According to one aspect, if the centerof an icon is located within the target region, that icon is included asa candidate icon. As shown in FIG. 6, icons 610 and 404 are partiallylocated in the target region. However, icon 610 is excluded as acandidate icon because its center is outside the target region, whileicon 404 is included as a candidate icon because its center lies insidethe target region. Polygon 614 identifies those remote icons that areconsidered target icons in the exemplary display screen 400 using theforegoing exemplary criterion.

In addition to, or as an alternative to, selecting icons from a targetregion, target icons may be selected according to their ability torespond to the activation gesture's selection. According to one aspect,if the activation gesture's selection includes a source icon 402, targeticons may be selected according to their ability to respond to andoperate on the content represented by the source icon. For example, if aselected source icon represented an image file, target icons may beselected according to their ability to open and manipulate the type ofimage represented by the source icon. Additionally, levels of abilitiesamong candidate icons may be used as a further selection criteria forselecting target icons. Still further, if a modifying condition isdetected, or if the number of target icons is too great to be displayedin a target cluster, the base level of ability for a target icon torespond to a source icon may be increased to limit the selection. Thoseskilled in the art will recognize that there are numerous ways ofselecting target icons for inclusion in a target cluster. Thus, whilethe above discussion presents a few alternatives, they are forillustration purposes only, and should not be construed as limiting uponthe present invention.

FIG. 7 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4, illustrating a temporary target cluster 702 displayed inproximity to the working area in accordance with the present invention.After determining the target region and the candidate icons, thosecandidate icons that can respond to the activation gesture's selectionare selected to be temporarily displayed in the target cluster 702. Morespecifically, according to aspects of the invention, if the activationgesture's selection is an empty selection, those icons that representcontent that can be executed, i.e., executable files or programs, areselected as target icons to be included in the target cluster.Alternatively, if the activation gesture's selection is a nonemptyselection having a source icon, those icons that represent contentcompatible with the source icon are selected. For example, compatiblecontent may include executable program files associated with the datatype associated with the source icon, storage folders, recyclers,printers, fax services, and the like. Determining whether a candidateicon can respond to a source icon's content type is known in the art,consistent with dropping the source icon on another icon. As a furtherexample, if the source icon 402 is a word processing data file, an iconrepresenting a word processor would likely be selected as compatiblewith the source icon.

Furthermore, as previously discussed, the activation gesture may bemodified by an additional user action, such as pressing a specialfunction key during the activation gesture. When such a modification ispresent, the compatible content is further determined in accordance withan associated criteria. According to yet further aspects of the presentinvention, selection of the compatible content may be based on a qualitymeasurement. For example, if the activation gesture's selection includesa source icon, that remote content that operates natively with the typeof content represented by the source icon may be selected, while thatremote content that must convert the content represented by the sourceicon would not be selected. Thus, the present invention should not beconstrued as limited to any particular means for determining whichremote content to place in the target cluster. In the example shown inFIG. 7, program icon 404, folder icon 408, printer icon 412, andrecycler icon 414 are displayed as target icons in the target cluster702.

The number of target icons, i.e., those icons selected from thecandidate icons in the target region and compatible with the activationgesture's selection, is limited by a predetermined maximum amount. Thepredetermined maximum amount may be user configurable. According to oneembodiment, the predetermined maximum amount of target icons in thetarget cluster is set by default to 5 target icons. When the number ofselected target icons exceeds the predetermined maximum amount, theselection criteria of target icons is repeatedly refined until thenumber of selected target icons no longer exceeds the predeterminedmaximum amount. Additionally, as described above, the number of targeticons selected may be reduced by increasing the quality level, i.e.,those that more efficiently operate on a source icon, for selectingcandidate icons. A more detailed discussion of selecting target iconsand refining the selection of target icons is provided below in regardto FIGS. 16A and 16B.

Those icons that are selected as target icons are temporarily displayedin a target cluster in proximity to the current working area. As shownin FIG. 7, icons 404, 408, 412, and 414 were selected as target iconsand displayed in the target cluster 702. Additionally, according to oneembodiment of the invention, in order to visually represent to the userthe original location of the target icons (referred to hereafter as thebase icons), the base icons are grayed or represented in outline form,as shown in FIG. 7 by base icons 712, 714, 716, and 718. Other methodsof visually representing a base icon may also be used. Accordingly,while graying or outlining the base icons is described, they arepresented for illustration purposes and should not be construed aslimiting upon the present invention.

In addition to graying or outlining the base icons, a visual connection,a band, is displayed between a target icon in the target cluster and itscorresponding base icon. According to one aspect of the presentinvention, the band may comprise one or more lines connecting a baseicon to its corresponding target icon, as shown in FIG. 7 by bands 704,706, 708, and 710. Alternatively, a band may be some pattern displayedbetween a base icon and a corresponding target icon. Other means ofrepresenting a band may also be implemented, such as arrows pointingfrom the base to the target icon, color bands, a single line, and thelike. Algorithms for simulating a motion blur between a base icon and atarget icon may also be used. Accordingly, the above-described examplesare for illustration purposes only, and should not be construed aslimiting upon the present invention.

According to still further aspects of the present invention, the bandmay narrow toward the midpoint between the base and target icons toprovide a suggestion that the band is elastic in nature, that the targeticon has been stretched from the base icon, and that the target iconwill snap back to its base icon when the target cluster is dismissed.Additionally, according to further aspects of the present invention, theamount of narrowing for each band may be a function of the distancebetween the base icon and its corresponding target icon. For example,while bands 706, 708, and 710 are roughly the same length, band 704 isshorter. Thus, as shown in FIG. 7, band 704 narrows less at its midpointthan the other bands.

As previously mentioned, after selecting the target icons, a targetcluster is generated and displayed in proximity to the working area.According to aspects of the invention, preferably, the distance that thetarget cluster is displayed from the working area is user configurable.For example, a target cluster may be configured to be located 15 pixelsfrom the working area.

According to other aspects of the invention, in generating the targetcluster, the arrangement of the target icons in the target cluster mayapproximate the arrangement of the corresponding base icons on thedisplay screen, as shown in the exemplary display screen 400. A moredetailed discussion of generating the target cluster is provided belowin regard to FIGS. 17A and 17B.

As previously mentioned, the present invention may be implemented on asystem having multiple physical display devices cooperating to create asingle visual display area. Accordingly, FIG. 8 is a pictorial diagramof an exemplary visual display area 800 formed by two exemplary displaydevices 802 and 804 depicting a temporary target cluster 806 displayedin proximity to a working area, associated with a source icon 808, inaccordance with the present invention.

FIG. 9 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4 illustrating an alternative temporary target cluster 902displayed in proximity to the working area associated with a source icon402, in accordance with the present invention. As illustrated in FIG. 9,the activation gesture included dragging the source icon 402 from itsoriginal location 504 in a near vertical manner for the predetermineddistance. As per the description above, a target region was determined,target icons were selected, and the target cluster 902 is generated anddisplayed in proximity to the working area.

FIG. 10 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4 illustrative of an activation gesture with an empty selection andthe resulting temporary target cluster 1006 displayed in proximity tothe working area 1004 in accordance with the present invention. Aspreviously discussed, an activation gesture does not require that asource icon be dragged. Instead, dragging on an empty area of thedisplay screen for a predetermined distance will cause the presentinvention to generate and display a temporary target cluster in theproximity of the working area.

Accordingly, as shown in FIG. 10, the activation gesture includeddragging an empty selection from the original location 1002 to theworking area 1004, and the target cluster 1006 is temporarily displayedin proximity to the working area. As described above, a target region isdetermined and target icons selected. Because the activation gesture'sselection is an empty selection, selection of target icons is not basedon which icons represent programs, services, or devices that arecompatible with the source icon. Instead, according to one aspect of theinvention, the target icons are selected based on their ability toexecute. According to an alternative aspect of the invention, all iconslocated within the target region are selected as target icons becauseall icons may be somehow manipulated. According to one aspect, all iconsmay be executable, and are therefore proper candidates as target icons.According to alternative aspects, only icons representing executableprograms are proper candidates as target icons. While various ways ofselecting target icons for display in the target cluster have beenpresented, they are for illustration purposes only, and should not beconstrued as limiting upon the present invention. As shown in FIG. 10,after having selected the target icons, the target cluster 1006 isdisplayed.

According to aspects of the present invention, the bands between thebase and target icons may be displayed in a closest-first order, i.e.,displaying bands between the base and target icons beginning with thosebase icons closest to the working area, to those base icons farthestfrom the working location. Additionally, the bands may be displayed in atransparent fashion such that information below the bands is at leastpartially visible, including other bands, base icons, target icons, andother icons.

FIG. 11 is a pictorial diagram of the exemplary display screen 400 ofFIG. 4 and is illustrative of placing the source icon 402 on a targeticon 404 in the exemplary temporary target cluster 702 of FIG. 7 toactivate that target icon in accordance with the present invention.According to aspects of the invention, releasing the source icon 402 ona target icon 404, as illustrated in FIG. 11, has the same effect asmoving to the corresponding base icon and releasing the source icon onthe base icon. Thus, if the activation gesture includes a nonemptyselection having a source icon 402, and the source icon is released on atarget icon 404 representing an executable program, the executableprogram is launched with the content represented by the source icon asthe subject matter. Alternatively (not shown), if the activationgesture's selection is an empty selection, i.e., was made on an emptyarea of the display screen, dropping on a target icon 404 causes thecontent represented by the target icon to be launched.

Dropping or releasing the selection is one of the user actions thatcauses the present invention to dismiss the target cluster 702. Thus,after having executed a program or performed another action associatedwith a target icon over which the selection is released, or, if theselection is released but not over a target icon, the target cluster 702is removed from the display screen, as well as the bands that connectthe base and target icons. Additionally, the base icons are restored totheir original condition if they were modified when the target clusterwas displayed.

Other user actions may also cause the target cluster, bands, and specialrendering of the base icons to be removed. FIG. 12 is a pictorialdiagram of the exemplary display screen 400 of FIG. 4 illustrating auser action dismissing the target cluster 702 in accordance with thepresent invention. As shown in FIG. 12, moving the activation gesture'sworking location, as indicated by cursor 502, in a direction away fromany target icon in the target cluster 702 results in the target clusterbeing removed from the display screen 400, as indicated by the targetcluster displayed in dashed lines. Thus, quickly moving in a zigzagmanner permits the user to quickly dismiss the target cluster 702.

As shown in FIG. 12, dragging the source icon 402 from the originallocation 504 to location 1202 initiates the display of the targetcluster 702, and moving to the source icon's current location away fromall target icons dismisses the target cluster. However, in order to betolerant of some jerkiness, small user movements away from the targeticons in the target cluster 702 are ignored and do not result in thetarget cluster being dismissed. The amount of movement tolerated by thepresent invention before dismissing the target cluster may be userconfigurable. According to further aspects of the present invention,after dismissing a target cluster, preferably, an activation gesturewill not be detected until the current activation gesture's selection isreleased.

According to alternative aspects of the present invention, in order todetermine whether the activation gesture's working location has movedaway from all target icons in the target cluster, a cluster area isdetermined according to the outermost target icons in the targetcluster, and any movement completely within the target cluster isconsidered to not be a movement away from all target icons. An exemplarycluster area 1412 is described below in regard to FIG. 14.

While the above discussion describes user actions dismissing the targetcluster in terms of moving the working location away from the targetcluster, those skilled in the art will recognize that there are numerousother user actions that would be suitable for dismissing the targetcluster, such as a key-press or alternate clicking on a mouse.Accordingly, the above description in regard to specific user actionsdismissing the target cluster is for illustration purposes only, andshould not be construed as limiting upon the present invention.

FIG. 13A is a pictorial diagram illustrative of an exemplarytwo-dimensional grid 1302 for organizing and generating a temporarytarget cluster in accordance with the present invention. Afterdetermining a target region, a two-dimensional grid 1302 is generatedwherein each cell is capable of mapping to one or more target icons. Thecells in the grid correspond to an area of the target region. The actualsize of each cell is configurable and begins with predetermined values.The target icons are placed, or mapped, into cells according to theirlocation in the target region. Because target icons located anywherewithin the area corresponding to a cell are mapped to that cell,multiple target icons will be mapped to the same cell when those iconsare located within the same corresponding cell area. Accordingly, ingenerating the target cluster, when at least two target icons are mappedto the same cell, the grid is emptied, the area corresponding to eachcell reduced, and the mapping of target icons to grid cells is repeated.This action is repeated until no one cell holds, or maps to, more thanone target icon. Mapping target icons to grid cells based on the displayscreen location preserves the general spatial arrangement of the baseicons in the target cluster.

When all target icons are mapped to separate grid cells, as shown inFIG. 13A, the spatial arrangement of the grid 1302 may be condensed.Condensing the two-dimensional grid is an optional process that allowsthe target cluster to be displayed in a compact manner, thereby reducingthe amount of travel necessary to access a target icon and also reducingthe amount of screen content covered by the target cluster. According toaspects of the present invention, condensing the two-dimensional grid1302 involves removing rows and columns in the grid that do not containat least one target icon. For example, rows 1304 and 1306 and columns1308 and 1310 will be removed from the two-dimensional grid 1302.

FIG. 13B is a pictorial diagram illustrative of the exemplarytwo-dimensional grid 1302 of FIG. 13A after having been condensed asdescribed above in regard to FIG. 13A. After the two-dimensional grid1302 is condensed, or if the grid is not to be condensed, a targetcluster is created and displayed in proximity to the working area. Thepositioning of the target icons in the target cluster is the same asthat of the cells in the two-dimensional grid in which they are mapped.In effect, the two-dimensional grid is mapped to a location in proximityto the working area.

While the above description illustrates mapping icons to a grid andcompressing the grid to generate a target cluster, they are onlyillustrative, and should not be construed as limiting upon the presentinvention. Those skilled in the art will recognize that there arenumerous ways that a target cluster may generate a target cluster, allof which are contemplated as falling within the scope of the presentinvention.

FIG. 14 is a pictorial diagram of a target cluster 1402 displayed on adisplay screen in proximity to the working area and generated from thetarget icons in the condensed two-dimensional grid 1302 of FIG. 13B. Acenter point 1406 of the target cluster is determined according to thearrangement of the target icons in the two-dimensional grid 1302. Thetarget icons are mapped to physical locations on the display screen,thereby creating the target cluster 1402, with the target cluster'scenter point 1406 placed in line with the activation gesture'sdirection, as indicated by vector 1404. According to aspects of thepresent invention, the target cluster's center point 1406 is located atthe center of a bounding polygon 1408 extending between the centers ofthe outermost target icons in the target cluster 1402.

As previously discussed, moving the activation gesture's workinglocation away from all target icons within the target cluster is oneaction that dismisses the target cluster. According to one aspect of thepresent invention, in order to determine whether the activationgesture's working location is moved away from all target icons in thetarget cluster, a cluster area is determined by first generating abuffer area around each outermost target icon, such as buffer area 1410,and then encompassing the buffer areas of the outermost target icons, asindicated by cluster area 1412. Thus, according to one aspect of theinvention, any movement of the activation gesture's location within thecluster area is considered to not be moving away from all target iconsin the target cluster.

FIGS. 15A, 15B, and 15C are a flow diagram illustrating an exemplaryaccess remote content routine 1500 suitable for accessing remote contentin accordance with the present invention. Beginning at block 1502, thepresent invention detects an activation gesture. As previouslydescribed, an activation gesture includes dragging a source icon, ordragging on an empty area of the display screen. At block 1504, targeticons to be displayed in a target cluster are selected. A more detaileddescription of selecting target icons for display in the target clusteris provided below in regard to FIGS. 16A and 16B.

FIGS. 16A and 16B are a flow diagram illustrating an exemplary selecttarget icons subroutine 1600 suitable for use in the exemplary accessremote content routine 1500 of FIGS. 15A, 15B, and 15C. Beginning atblock 1602, all icons on the display screen, or single visual displayarea, are initially included in a candidate set of icons. At decisionblock 1604, a determination is made as to whether the activatinggesture's selection was a nonempty selection having a source icon. Ifthere is a source icon, at block 1606, those icons that are incompatiblewith the source icon are removed from the candidate set and theexemplary subroutine 1600 proceeds to block 1608. As previouslydiscussed, the determination of incompatible icons may be modifiedaccording to an additional user action that modifies the activationgesture. Alternatively, if, at decision block 1604, there is no sourceicon selected, the exemplary subroutine 1600 proceeds to block 1608.

At block 1608, those icons located within a predetermined distance fromthe working area are removed from the candidate set of icons. At block1610 (FIG. 16B), a target region is determined according to theactivation gesture. As previously described in regard to FIG. 6,preferably, the target region is that area on the display screen betweentwo boundary vectors on either side of a center vector aligned with theactivation gesture, and angling away from the center vector at apredetermined angle. At block 1612, those icons residing outside of thetarget region are removed from the candidate set of icons.

At decision block 1614, a determination is made as to whether the numberof icons in the candidate set exceeds a predetermined maximum amount. Ifthe predetermined maximum number is exceeded, at block 1616 the targetregion is narrowed by reducing the angle at which the bounding vectorsangle away from the center vector. After narrowing the target region,returning to block 1612, those icons now located outside of the targetregion are removed from the candidate set. Narrowing the target regionto reduce the number of icons in the candidate set is repeated until thenumber of icons in the set does not exceed the predetermined maximumamount. Alternatively, at decision block 1614, if the number of icons inthe candidate set does not exceed the predetermined maximum amount, theremaining icons in the candidate set are selected as the target icons,and the routine 1600 terminates.

With reference to FIG. 15A, after having selected the target icons, atblock 1506, the target cluster is generated and displayed in theproximity of the working location. A more detailed description ofgenerating and displaying the target cluster is set forth in regard toFIGS. 17A and 17B.

FIGS. 17A and 17B are a flow diagram illustrating an exemplary generateand display target cluster subroutine 1700 suitable for use in theexemplary access remote content routine 1500 of FIGS. 15A, 15B, and 15C.Beginning at block 1702, the target icons are mapped into cells of atwo-dimensional grid according to their location on the display screen.Mapping target icons into the two-dimensional grid was previouslydiscussed in regard to FIGS. 13A and 13B. At decision block 1704, adetermination is made as to whether at least two target icons are mappedto the same grid cell. If at least one cell within the two-dimensionalgrid is mapped to that cell, at block 1706, the two-dimensional grid isreset and the area corresponding to each grid cell is reduced. Returningagain to block 1702, the target icons are again mapped to grid cells.Resetting the two-dimensional grid and reducing the area correspondingto the grid cells continues until no cell within the grid has more thanone target icon mapped to it.

Alternatively, at decision block 1704, if no cell in the two-dimensionalgrid has more than one target icon mapped to it, at block 1708, thosecolumns in the two-dimensional grid not having at least one cell with atarget icon are removed. At block 1710, those rows in thetwo-dimensional grid not having at least one cell with a target icon areremoved. Alternatively (not shown), instead of removing those rows andcolumns not having at least one cell with a target icon, those rows andcolumns may be substantially narrowed or shortened when displayed in thetarget cluster on the display screen.

At block 1712, the two-dimensional grid is translated into physicalspace on the screen. While target icons will typically have a predefinedsize, the spacing of columns and rows may be controlled according topredetermined amounts that are user configurable. By locating rows andcolumns of target icons closely together, a compressed target clustermay be presented to the user, reducing the amount of movement necessaryto activate any one target icon in the target cluster.

At block 1714, the center point of the target cluster is determined. Aspreviously discussed in regard to FIGS. 13A and 13B, a polygon defininga bounding box of all the target icons is determined, and the centerpoint of the bounding box is determined. At block 1716, the targetcluster is displayed on the display screen in the proximity of theworking area, with the target cluster's center point placed on theactivation gesture's line of movement, and at a predetermined distancefrom the working area. Thereafter, the routine 1700 terminates.

With reference to FIG. 15A, at block 1508, the bands between the baseand target icons in the target cluster are displayed. A more detaileddescription of displaying the bands between the base and target icons isdescribed below in regard to FIG. 18.

FIG. 18 is a flow diagram illustrating an exemplary display all bandssubroutine 1800 suitable for use in the exemplary access remote contentroutine 1500 of FIGS. 15A, 15B, and 15C. At block 1802, a first targeticon is selected. According to one aspect of the present invention,target icons in the target cluster are processed, for the purpose ofgenerating and displaying the bands between the base and target icon, ina closest-first manner, meaning from those target icons nearest to theworking area to those target icons farthest away from the working area.At block 1804, a band is displayed between the selected target icon andits corresponding base icon. Preferably, the type of band displayedbetween the base and target icons is user configurable. A more detaileddescription of displaying a band between a selected target icon and itscorresponding base icon is presented in regard to FIG. 19.

FIG. 19 is a flow diagram illustrating an exemplary display bandsubroutine 1900 suitable for use in the exemplary display all bandssubroutine 1800 of FIG. 18. Beginning at block 1902, the starting andending locations for a band between a base and target icon aredetermined. For example, the starting location for the band may begin atthe same location as the base icon and end at the location of the targeticon. At block 1904, a translucent copy of the target icon is created.

At block 1906, the exemplary routine 1900 moves to the first locationfor displaying the band between the base and target icon. According toaspects of the present invention, movement between the base icon and thetarget icon is in a direct line between the two icons. Additionally,movements are made in predetermined increments. For example, a movementmay be a single pixel from the base icon toward the ending location ator near the target icon.

At block 1908, the translucent icon is displayed at the currentlocation. At decision block 1910, a determination is made as to whetherthe translucent copy was displayed at the ending location. If, atdecision block 1910, the translucent copy was displayed at the endinglocation, the exemplary subroutine 1900 terminates. Alternatively, ifthe translucent copy was not displayed at the ending location, at block1912, a stretching effect is applied to the translucent copy. Accordingto one aspect of the present invention, to apply the stretching effect,the size of the translucent copy is adjusted according to the currentdistance from the midpoint between the base and target icons. As themovements approach the midpoint, the size of the translucent copy isreduced by a predetermined amount. As the movements move away from themidpoint, the size of the translucent copy is increased by thepredetermined amount.

At block 1914, the location for displaying the translucent copy of thetarget icon is moved toward the ending location. The process againreturns to block 1908 where the translucent copy is displayed at itsnext location. This process of displaying the translucent copy, applyingthe stretching effect, and moving to the next location, repeats untilthe ending location is reached.

With reference to FIG. 18, at decision block 1806, a determination ismade as to whether there are any more target icons to be selected fordisplaying the band between the target icon and its base icon. If thereare more target icons to be selected, at block 1808, the next targeticon is selected, and the subroutine 1800 returns to block 1804.Alternatively, if, at decision block 1806 there are no remaining targeticons to select, the exemplary subroutine 1800 terminates.

With reference to FIG. 15B, at block 1510, the exemplary routine 1500monitors for a user action. After detecting a user action, at block1512, a determination is made as to whether the user action was arelease. As previously discussed, a release will typically be a dropaction, whether the activation gesture's selection is empty or nonempty.If the user action was not a release, at block 1514, a determination ismade as to whether the user action was a movement. If the user actionwas not a movement, the process returns to block 1510 where it waits forand monitors for additional user action. It should be understood that,while not shown, other processing of the action may occur that is notidentified in this exemplary routine. For example, the user's action maybe passed on to the operating system for typical processing.Accordingly, the exemplary process is for illustration purposes only,and should not be construed as limiting upon the present invention.

Alternatively, at decision block 1514, if the user's action was amovement, at decision block 1516, a determination is made as to whetherthe movement was in a direction away from all of the target icons in thetarget cluster. If the movement was not in a direction away from all ofthe target icons, the process returns to block 1510 where it again waitsfor and monitors for additional user actions. Alternatively, at block1516, if the movement was in a direction away from all of the targeticons, at decision block 1518, a further determination is made as towhether the movement was slight. By ignoring slight backward drift, thepresent invention can be tolerant of common human jitters or drift.According to aspects of the invention, a movement is slight if theamount of movement is less than a predetermined tolerance amount.According to further aspects of the invention, the predeterminedtolerance amount is user configurable. For example, the predeterminedtolerance amount may be set such that a movement of less than 5 pixelsin a direction away from any target icon is tolerated.

At decision block 1518, if the movement was slight, the process returnsto block 1510 to wait for and monitor for further user action.Alternatively, at decision block 1518, if the movement was not slight,as described above, at block 1520, the target cluster is dismissed andthe routine terminates.

Alternatively, at decision block 1512, if the user's action was arelease, at decision block 1522, a determination is made as to whetherthe release was located on a target icon. If the release was located ona target icon, at decision block 1526, determination is made as towhether the activation gesture's selection was a nonempty selectionhaving a source icon. If the activation gesture's selection includes asource icon, at block 1530, the content associated with the target iconupon which the release was made is activated with the source icon.Thereafter, at block 1532, the target cluster is dismissed, includingthe bands, and the exemplary routine 1500 terminates.

Alternatively, at decision block 1526, if the activation gesture'sselection was empty, at block 1528, the content associated with thetarget icon is activated. At block 1532, the target cluster isdismissed, and the exemplary routine 1500 terminates.

At decision block 1522, if the release was not located on a target icon,at block 1524, the release action is completed in accordance with thetypical operation of the computing system. For example, if a source iconwas dragged and dropped, but not on a target icon, the source icon wouldbe moved to the new location as is typical with a drag-and-dropoperation. After completing the typical release action, at block 1532,the target cluster is dismissed, and the exemplary routine 1500terminates.

While illustrative embodiments have been illustrated and described, itwill be appreciated that various changes can be made therein withoutdeparting from the spirit and scope of the invention.

1. A method for facilitating user access to remote icons on a displayscreen, the method comprising: detecting an activation gesture, theactivation gesture including a location; selecting at least one baseicon on the display screen located at a distance greater than apredetermined distance from the activation gesture's location;generating a target icon for each selected base icon; and displaying thetarget icons in proximity to the activation gesture's location until anaction dismissing the target icons is detected.
 2. The method of claim1, wherein the activation gesture further includes an origin and adirection, and wherein selecting at least one base icon on the displayscreen located at a distance greater than the predetermined distancefrom the activation gesture's location comprises: determining a vectororiginating at the activation gesture's origin and extending to thelimits of the display screen along the activation gesture's direction;determining a target region defined by two boundary lines originating atthe activation gesture's origin and diverging away from and on eitherside of the vector and extending to the limits of the display screen;and selecting base icons from only those icons located within the targetregion.
 3. The method of claim 1, wherein the activation gesture furtherincludes a selection, and wherein selecting at least one base icon onthe display screen located at a distance greater than the predetermineddistance from the activation gesture's location comprises: determiningwhether the activation gesture's selection includes a source icon and,if so, selecting at least one base icon on the display screen located ata distance greater than the predetermined distance from the activationgesture's location and representing content compatible with the sourceicon.
 4. The method of claim 3, further comprising: detecting an actiondismissing the target icons; determining whether the action dismissingthe target icons is made on a target icon, and if so, activating thecontent associated with the target icon on which the action dismissingthe target icons is made with the contents of the activation gesture'sselection.
 5. The method of claim 1, wherein displaying the target iconsin proximity to the activation gesture's location until an actiondismissing the target icons is detected comprises displaying the targeticons and the base icons simultaneously on the display screen until anaction dismissing the target icons is detected.
 6. The method of claim5, further comprising displaying a connection between each target iconand a corresponding base icon.
 7. The method of claim 6, whereindisplaying a connection between a target icon and a corresponding baseicon comprises displaying a band between each target icon in the targetcluster and a corresponding base icon, and wherein the band displayedbetween a target icon and a corresponding base icon narrows as the bandapproaches a midpoint between the target icon and its base icon.
 8. Amethod for accessing remotely located icons on a display screen,comprising: detecting an activation gesture, the activation gestureincluding a location; selecting at least one base icon remotely locatedon the display screen; generating a target icon for each selected baseicon; and displaying the target icons in proximity to the activationgesture's location simultaneously with the selected at least one baseicon until an action dismissing the target icons is detected.
 9. Themethod of claim 8, wherein selecting at least one base icon remotelylocated on the display screen comprises selecting at least one base iconlocated on the display screen at a distance greater than a predetermineddistance from the activation gesture's location.
 10. The method of claim8, wherein the activation gesture further includes an origin and adirection, and wherein selecting at least one base icon remotely locatedon the display screen comprises: determining a vector originating at theactivation gesture's origin and extending to the limits of the displayscreen along the activation gesture's direction; determining a targetregion defined by two boundary lines originating at the activationgesture's origin and diverging away from and on either side of thevector and extending to the limits of the display screen; and selectingbase icons from only those icons located within the target region. 11.The method of claim 8, wherein the activation gesture further includes aselection, and wherein selecting at least one base icon remotely locatedon the display screen comprises: determining whether the activationgesture's selection includes a source icon and, if so, selecting atleast one base icon remotely located on the display screen representingcontent compatible with the source icon.
 12. The method of claim 8,further comprising: detecting an action dismissing the target icons;determining whether the action dismissing the target icons is made on atarget icon and, if so, activating the content associated with thetarget icon on which the action dismissing the target icons is made withthe contents of the activation gesture's selection.
 13. The method ofclaim 8, further comprising displaying a band between each target iconand a corresponding base icon, and wherein the band displayed between atarget icon and a corresponding base icon narrows as the band approachesa midpoint between the target icon and its base icon.
 14. A computersystem for facilitating user access to remote icons on a display device,the system comprising: a display device capable of displaying aplurality of icons; a user input device for interfacing with andinteracting with the user; and a computing device, communicativelycoupled to the display device and to the user input device, andconfigured to: output a plurality of icons for display on the displaydevice; detect an activation gesture including a location; and upondetecting the activation gesture: select at least one base icon on thedisplay screen located at a distance greater than a predetermineddistance from the activation gesture's location; generate a target iconfor each selected base icon; and output the target icons in proximity tothe activation gesture's location to the display device until an actiondismissing the target icons is detected.
 15. The computer system ofclaim 14, wherein the activation gesture further includes an origin anda direction, and wherein selecting at least one base icon on the displayscreen located at a distance greater than the predetermined distancefrom the activation gesture's location comprises: determining a vectororiginating at the activation gesture's origin and extending to thelimits of the display screen along the activation gesture's direction;determining a target region defined by two boundary lines originating atthe activation gesture's origin and diverging away from and on eitherside of the vector and extending to the limits of the display screen;and selecting base icons from only those icons located within the targetregion.
 16. The computer system of claim 15, wherein the activationgesture further includes a selection, and wherein selecting at least onebase icon on the display screen located at a distance greater than thepredetermined distance from the activation gesture's location comprises:determining whether the activation gesture's selection includes a sourceicon and, if so, selecting at least one base icon on the display screenlocated at a distance greater than the predetermined distance from theactivation gesture's location and representing content compatible withthe source icon.
 17. The computer system of claim 16, wherein thecomputing device is further configured to: detect an action dismissingthe target icons; determine whether the action dismissing the targeticons is made on a target icon and, if so, activate the contentassociated with the target icon on which the action dismissing thetarget icons is made with the contents of the activation gesture'sselection.
 18. The computer system of claim 14, wherein displaying thetarget icons in proximity to the activation gesture's location until anaction dismissing the target icons is detected comprises displaying thetarget icons and the base icons simultaneously on the display screenuntil an action dismissing the target icons is detected.
 19. Thecomputer system of claim 18, wherein the computer system is furtherconfigured to output for display to the display device a connectionbetween each target icon and a corresponding base icon.
 20. The computersystem of claim 19, wherein outputting for display to a display device aconnection between a target icon and a corresponding base icon comprisesdisplaying a band between each target icon in the target cluster and acorresponding base icon, and wherein the band displayed between a targeticon and a corresponding base icon narrows as the band approaches amidpoint between the target icon and its base icon.